約 1,910,444 件
https://w.atwiki.jp/soromon_com/pages/36.html
酒場関連 # Sub Bar # sub bar_meet { if ($F{ ad }) { ad_dis; return } get_all_users;全員のデータ読み込み form_table( up , 100% ,1); reload; print qq|酒場 |; submit_button; print qq| /td /tr tr td align=left \n|; $p_sail = int($pay * (100 - level($pexp*(1 + $t_item*0.01)) )/100);水夫の代金計算式 print BAR; input type=radio name=goods value= 1 checked 水夫雇用(一人当たり$p_sail G) br input type=radio name=goods value= 2 水夫解雇 br input type=radio name=goods value= 3 食料購入:$f_price G br input type=radio name=goods value= 4 食料破棄 br div align=right 取り扱い数: input type=text name=quan size=10 /div input type=hidden name=mode value= bar_trade BAR id_ps; form_table( down ); form_table( up , 100% ,1); reload; print qq|冒険情報を聞く |; submit_button; print qq| input type=hidden name=mode value= play \n|; print qq| input type=hidden name=ad value= 1 \n|; id_ps; form_table( down ); print qq| table width= 100% bgcolor=$t_bgcol border= 1 bordercolor=$bdcol cellspacing=0 tr td align=center \n|; print qq|来店者 /td /tr tr td align=center \n|; foreach (@alllines) { ($uid,$uname,$usex,$uarea,$uport,$upoint,$ufriend_line) = (split(/ /))[0,1,3,15,16,17,22]; if ($uport == $port $upoint == 4 $uid != $id) { if ( $friend_line !~ /$uid/ ) { if (!$friend_line) { $friend_line = $uid,$uname } else { $friend_line .= △$uid,$uname }宛先に対象IDが無かった場合、宛先が偽だったら対象ID,名前を格納。宛先が既にあったら△対象ID、名前を追加で格納。 } if ( $ufriend_line !~ /$id/ ) { get_u($uid); if (!$ufriend_line) { $ufriend_line = $id,$name } else { $ufriend_line .= △$id,$name } set_u;宛先が偽だったらID,名前を格納。宛先が既にあったら△ID、名前を追加で格納。 } $sex_img = $usex ? $wmn_img $man_img; $on_click = qq|onClick= return opWin( $listcgi?mode=uprofile uid=$uid , win6 ) |; print qq| img src= $img/$sex_img a href= $listcgi?mode=uprofile uid=$uid $on_click target=_blank $uname /a br \n|; } } if (!$sex_img) { print qq|誰もいません| } print qq| /td /tr /table \n|; } # Sub Adventure Display # sub ad_dis { my $AdFile = new Nfile( $datadir/$adfiles , read ); my @adfline = $AdFile- read;冒険情報の読み込み form_table( up , 100% ,1); reload; print qq|冒険情報 |; submit_button; print qq| /td /tr tr td align=left \n|; foreach (0 .. $#adfline) { ($harea,$hport,$price,$file) = split(/ /,$adfline[$_]); if ($harea =~ /$area/ || $hport =~ /$port/) {エリアか港が一致した場合 $checked = !$first ? checked ; $first = 1; print qq| input type=radio name=goods value= $_ $checked $price G br |; } } print qq|情報がありません| if !$first; print qq| input type=hidden name=mode value= adven \n|; print qq| input type=hidden name=check value= $first \n|; id_ps; form_table( down ); } # Sub Bar Trade # sub bar_trade { get_me($F{ id }); if ($action ne $F{ reload }) { play; exit } if ($F{ quan } =~ /[^0-9]/) { play( 数の入力が不正です );exit } $F{ quan } = int($F{ quan }); if ( $F{ goods } == 1 ) { $price = int($pay * (100 - level($pexp*(1 + $t_item*0.01)))/100); trade_check; $action = ; $sailor += $F{ quan }; $money -= $price * $F{ quan }; msg( 水夫を$F{ quan }人 雇いました ); add_record( 水夫を @$priceで $F{ quan }人 雇用 ); play; return; } elsif ( $F{ goods } == 3 ) { $price = $f_price; trade_check; $action = ; $food += $F{ quan }; $money -= $f_price * $F{ quan }; msg( 食料を$F{ quan } 購入しました ); add_record( 食料を @$priceで $F{ quan }個 購入 ); play; reurtn; } elsif ( $F{ goods } == 2 ) { sell_check; $action = ; $sailor -= $F{ quan }; if ($sailor 0 ) { $sailor = 0; $F{ quan } = 全員 ; } msg( 水夫を$F{ quan } 解雇しました ); add_record( 水夫を $F{ quan }人 解雇 ); play; return; } elsif ( $F{ goods } == 4 ) { sell_check; $action = ; $food -= $F{ quan }; if ($food 0 ) { $food = 0; $F{ quan } = 全て ; } msg( 食料を$F{ quan } 破棄しました ); add_record( 食料を $F{ quan }個 破棄 ); play; return; } }水夫と食料の処理 # Sub Adven # sub adven { get_me($F{ id }); if (($action ne $F{ reload }) || !$F{ check }) { play; exit } my $AdFile = new Nfile( $datadir/$adfiles , read ); my @adfline = $AdFile- read; ($harea,$hport,$price,$file,$fguide) = split(/ /,$adfline[$F{ goods }]); if ($money $price) { play( お金が足りません ); exit } $money -= $price; $quest_flag = $file;ファイル名を$quest_flagに格納 my $QFile = new Nfile( $datadir/$file , read ); ($quest_line) = $QFile- read; chomp($quest_line); $quest_line .= ,0 ;該当ファイルを読み込み格納し、末尾の改行文字を削除し、,0を追記 msg( 冒険情報を買いました br $fguide ); add_record( $fguide ); play } 1;
https://w.atwiki.jp/aurora72source2/pages/29.html
aaa #!/usr/local/bin/perl # 上の1行の前には空行も空白文字もはいらないようにしてください。 # perlのパス名はプロバイダや環境に合わせて変更してください。 # # CGIのヘッダを書き出します。通常は text/html を指定します。 # print "Content-type text/html\n"; print "\n"; # # HTMLを書き出します。 # "~\n" の ~ の部分に HTML を記述しますが、ダブルクォーテーション( " ) # を用いる際は " の代わりに を用いるか、\" のように、バックスラッシュ( \ ) # を前に置いてください。 # print " HTML \n"; print " HEAD \n"; print " TITLE CGI TEST /TITLE \n"; print " /HEAD \n"; print " BODY BGCOLOR= #FFFFFF TEXT= #000000 \n"; print " XMP \n"; # # wwwperl.cgi?引数1+引数2 で指定したコマンド引数を書き出します。 # # #print " hr \n"; # print "=================================\n"; print "コマンド引数\n"; print "=================================\n"; for ($i = 0; $i = $#ARGV; $i++) { print "ARGV[$i] = [ $ARGV[$i] ]\n"; } print "\n"; print " hr \n"; # # CGIスクリプトが参照可能な環境変数を書き出します。 # print "=================================\n"; print "環境変数\n"; print "=================================\n"; print "AUTH_TYPE = [ $ENV{ AUTH_TYPE } ]\n"; print "CONTENT_LENGTH = [ $ENV{ CONTENT_LENGTH } ]\n"; print "CONTENT_TYPE = [ $ENV{ CONTENT_TYPE } ]\n"; print "GATEWAY_INTERFACE = [ $ENV{ GATEWAY_INTERFACE } ]\n"; print "HTTP_ACCEPT = [ $ENV{ HTTP_ACCEPT } ]\n"; print "HTTP_FORWARDED = [ $ENV{ HTTP_FORWARDED } ]\n"; print "HTTP_REFERER = [ $ENV{ HTTP_REFERER } ]\n"; print "HTTP_USER_AGENT = [ $ENV{ HTTP_USER_AGENT } ]\n"; print "HTTP_X_FORWARDED_FOR = [ $ENV{ HTTP_X_FORWARDED_FOR } ]\n"; print "PATH_INFO = [ $ENV{ PATH_INFO } ]\n"; print "PATH_TRANSLATED = [ $ENV{ PATH_TRANSLATED } ]\n"; print "QUERY_STRING = [ $ENV{ QUERY_STRING } ]\n"; print "REMOTE_ADDR = [ $ENV{ REMOTE_ADDR } ]\n"; print "REMOTE_HOST = [ $ENV{ REMOTE_HOST } ]\n"; print "REMOTE_IDENT = [ $ENV{ REMOTE_IDENT } ]\n"; print "REMOTE_USER = [ $ENV{ REMOTE_USER } ]\n"; print "REQUEST_METHOD = [ $ENV{ REQUEST_METHOD } ]\n"; print "SCRIPT_NAME = [ $ENV{ SCRIPT_NAME } ]\n"; print "SERVER_NAME = [ $ENV{ SERVER_NAME } ]\n"; print "SERVER_PORT = [ $ENV{ SERVER_PORT } ]\n"; print "SERVER_PROTOCOL = [ $ENV{ SERVER_PROTOCOL } ]\n"; print "SERVER_SOFTWARE = [ $ENV{ SERVER_SOFTWARE } ]\n"; print "\n"; # # フォームに指定した値を読み込んで、書き出します。 # print "=================================\n"; print "フォーム変数\n"; print "=================================\n"; if ($ENV{ REQUEST_METHOD } eq "POST") { # POSTであれば標準入力から読込みます read(STDIN, $query_string, $ENV{ CONTENT_LENGTH }); } else { # GETであれば環境変数から読込みます $query_string = $ENV{ QUERY_STRING }; } # 「変数名1=値1 変数名2=値2」の形式をアンパサンド( )で分解します @a = split(/ /, $query_string); # それぞれの「変数名=値」について foreach $a (@a) { # イコール( = )で分解します ($name, $value) = split(/=/, $a); # + や %8A などをデコードします $value =~ tr/+/ /; $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg; # 変数名と値を書き出します print "$name = $value\n"; # 後で使用する場合は、$FORM{ 変数名 } に代入しておきます $FORM{$name} = $value; } # # # open(IN, "xxxx.txt"); while ( IN ) { print $_; } close(IN); # # # #open(IN, "/usr/local/bin/nkf -e datafile.txt |"); open(IN, "ls -la |"); while ( IN ) { print $_; } close(IN); #open(IN01, "_form.f"); #open(IN01, "_form.clf"); #open(IN01, "_form.f"); #while ( IN01 ) { # print $_; #} #close(IN01); # # HTMLの終わりの部分を書き出します。 # print " /XMP \n"; print " /BODY \n"; print " /HTML \n"; print "\n"; aaa
https://w.atwiki.jp/asahi-np/
asahi-np.co.jpのに関するコピペまとめ ニュース速報+板に貼られた朝日新聞(asahi-np.co.jp)に関するコピペやテンプレートをまとめていきます スレッドの流れが非常に速いので取りこぼしを防ぐために作りました 誰でもいじれるようにしてます いじくった記録はとってます スレにあがったファイルとか ジャーナリスト宣言 言葉は感情的で、 残酷で、 ときに無力だ。 それでも私達は信じている、 言葉のチカラを。 だから鬱病ニート部落民はとっとと首つって氏ねよ。 ジャーナリスト宣言 朝日新聞。 朝日新聞の本質 ↓ 朝日新聞の本質 ○ |├───-─┐ |││ / / │ |│⌒ヽ / │ |│朝 ) ──│ |├────-┘ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (-@∀@)< 差別はやめろよ φ⊂ 朝 ) | この部落民ども | | | \_________ (__)_) (p)http //anchorage.2ch.net/test/read.cgi/rail/1234102659/ (p)http //s03.megalodon.jp/2009-0331-2052-10/anchorage.2ch.net/test/read.cgi/rail/1234102659/ 338 名前:名無し野電車区[sage] 投稿日:2009/02/24(火) 14 06 17 ID xCZ4mYua0 何もしゃべれない失語症躁鬱ニート部落民のくせに、 何が(勝利笑)だ。人生の敗北者が(真の勝利笑) 340 名前:名無し野電車区[sage] 投稿日:2009/02/24(火) 14 33 28 ID xCZ4mYua0 またダンマリか。ちょっとおとなしくしているとつけあがるゴギブリ(激笑) 374 名前:名無し野電車区[sage] 投稿日:2009/02/25(水) 22 41 17 ID 53/Kvvqc0 失語症が治ったのか? それとも鬱病から躁病になったのか? 東急的指導? 持ち家もない貧民のくせに。 386 名前:名無し野電車区[sage] 投稿日:2009/02/26(木) 14 39 19 ID hm/fghjb0 失語症躁鬱ニートゴキブリ部落民はとっとと首つって氏ねよ。 Whios Domain Information [ドメイン情報] a. [ドメイン名] ASAHI-NP.CO.JP e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ f. [組織名] 株式会社 朝日新聞社 g. [Organization] The Asahi Shimbun Company k. [組織種別] 株式会社 l. [Organization Type] Corporation m. [登録担当者] TY7847JP n. [技術連絡担当者] KH264JP n. [技術連絡担当者] YB002JP p. [ネームサーバ] dns01.asahi-np.co.jp p. [ネームサーバ] dns02.asahi-np.co.jp [状態] Connected (2010/03/31) [登録年月日] [接続年月日] [最終更新] 2009/04/01 01 29 58 (JST) (p)http //whois.jprs.jp/ 今まで発覚してるホスト名 atws1.asahi-np.co.jp atws01.asahi-np.co.jp atws02.asahi-np.co.jp atws03.asahi-np.co.jp atws04.asahi-np.co.jp atws12.asahi-np.co.jp atws13.asahi-np.co.jp atws15.asahi-np.co.jp コメント 上のリモホ名は現在は変更になってるみたいね。姑息だ。 -- 名無しさん (2019-02-01 01 36 47) 名前 コメント
https://w.atwiki.jp/n_f_traders/pages/85.html
各都市の交易品価格の調査用CGIを作成中です。 ですが、意欲も上がらないのでWiki上で作成していきます。 現在予定のファイル(便宜上) city.csv(内容:都市ナンバー、都市名、文化圏) item.csv(内容:交易品ナンバー、交易品種類、交易品名、名産文化圏) culture.csv(内容:文化圏名、各文化圏との名産判定距離) main.csv(内容 各取引高を格納) main.cgi(出力用CGIファイル) input.cgi(入力用CGIファイル) csvレコードの内容 レコードとは、データにおける1つのデータ行のことです。このレコードを複数作製し、プログラムによって配列処理していきます。 city.csv 都市ナンバー,都市名,文化圏,同盟 文化圏は北欧を1とし、順次増やしていく。(0は交易品名産判定で非名産判定とする為) 同盟はinput.cgi用の便宜上のもの。同盟国は初期段階で税率を0、非同盟国は税率を初期設定する(ご記入防止のため) item.csv 交易品ナンバー,交易品名,カテゴリ,種類名,名産文化圏,基準価格 名産文化圏は非名産品は0。それ以外は各名産文化圏の番号を入れる。 基準価格はinput.cgi時に再計算し、算出。 culture.csv 文化圏名,名産距離,名産距離,名産距離,名産距離,名産距離,… 0行目の文化圏名は「非(名産品)」。名産距離は全て0。 1行目より文化圏名「北欧」。名産距離を記入していく。 配列$_[1]から各配列番号に合った文化圏との距離を記入していく。 main.csv データナンバー,更新日,都市ナンバー,交易品ナンバー,売or買,価格,相場,仕入値,税率 売or買は0,1で判定。 出力方法 CGIソース プログラムソースです。Perlで書いています。 main.cgi main.cgi@価格調査用CGIプロジェクト input.cgi input.cgi@価格調査用CGIプロジェクト メモ main.csv(前段階) main.csv(失敗例) Hello, nice site look this http //ekymi.info/replica-watches/replica-fake-rolex-diamond.php http //ekymi.info/replica-watches/rolex-submariner-how-to-tell-a-fake.php a href="http //ekymi.info/replica-watches/swiss-made-breitling-replica-watches.php quot; gt;swiss made breitling replica watches /a a href="http //ekymi.info/replica-watches/michele-deco-replica-watch.php quot; gt;michele deco replica watch /a http //ekymi.info/replica-watches/replica-oakley-watches.php a href="http //ekymi.info/replica-watches/replica-vintage-watch.php quot; gt;replica vintage watch /a a href="http //ekymi.info/replica-watches/guide-to-importing-fake-watches.php quot; gt;guide to importing fake watches /a a href="http //ekymi.info/replica-watches/rolex-replica-watches-ladies-diamonds-rubies.php quot; gt;rolex replica watches ladies diamonds rubies /a http //ekymi.info/replica-watches/replica-watches-hublot-it.php http //ekymi.info/replica-watches/how-to-distinguish-swiss-replica-watch.php End ^) See you -- weddingc (2008-03-23 11 10 00) 名前 コメント
https://w.atwiki.jp/also_little/pages/429.html
正しくは『DXチャット』 現在のチャットとは違い、アクセス禁止が出来ないと言う欠点を持っている。 えっちゃんに襲われた時のチャットである。 このチャットは旧アイスペユニヴァース前期まで使用されていた。 cgi boyプロフィールとの連携により、参加者が任意でプロフィールの公開ができる。
https://w.atwiki.jp/0x0b/pages/83.html
CGI(Common Gateway Interface) ウェブサーバ上でユーザプログラムを動作させるための仕組み。現存する多くのウェブサーバプログラムはCGIの機能を利用することができる。 ウェブサーバプログラムの機能の主体は、あらかじめ用意された情報を利用者(クライアント)の要求に応じて送り返すことである。そのためサーバプログラム単体では情報をその場で動的に生成してクライアントに送信するような仕組みを作ることはできなかった。 そこでサーバプログラムから他のプログラムを呼び出し、その処理結果をクライアントに送信する方法が考案された。それを実現するためのサーバプログラムと外部プログラムとの連携法の取り決めがCGIである。 CGIは環境変数や標準入出力の扱える実行環境からであればプログラミング言語の別を問わず幅広く利用できるが、実行速度やテキスト処理の容易さなどの兼ね合いによりPerlが使われることが多かった。近年では、Perlに加えてPython、Rubyなども広く使われている。 代表的なアプリケーションには、電子掲示板、アクセスカウンタ、WikiやBlogシステムなどがある。 近年では、Webサーバのプロセスとしてインタプリタを常駐させておくことにより、CGIからプログラムを呼び出すオーバヘッドを減らし、パフォーマンスを向上させたJava Servletやmod_perl、mod_php、FastCGI、WSGIなどのインタフェース・実装も出現している。 仕様 CGIの仕様はNCSAにより最初に定義・実装(NCSA HTTPdにおいて)され、現在の最新版はCGI1.1である。2004年にRFC 3875となった。 RFC3875 The Common Gateway Interface (CGI) Version 1.1 CGIは、典型的には以下のような動作を期待される。CGIを経由して実行されるプログラムのことを、CGIプログラムと呼ぶ。 CGIプログラムはウェブサーバがクライアントからのリクエストに応じて起動する。 典型的には、ウェブサーバの公開領域に置かれたプログラムに対応するURIへのリクエストがあると、サーバはそのプログラムをCGIの取り決めに従って呼び出す。 CGIプログラムへの情報の入力は、コマンドライン引数、環境変数、標準入力によって行われる。 ウェブサーバがプログラムを呼び出す時点でいくつかの環境変数を定義することが定められている。 特に、クライアントがサーバに要求したURIのうち、検索文字列(Query String)部が環境変数 QUERY_STRING に設定されるので、これはHTMLフォームからGETメソッドで入力を受けるのに便利である。 QUERY_STRINGに文字 = が含まれない場合は、サーバはQUERY_STRINGの内容をコマンドライン引数としてCGIプログラムに渡す。これはHTMLのISINDEX要素を用いて送信された情報を扱うのに便利である。 クライアントからのHTTPリクエストのBODY部はCGIプログラム標準入力に流し込まれる。また、その入力の長さが環境変数CONTENT_LENGTHに設定されている。これはHTMLフォームからPOSTメソッドで入力を受けるのに便利である。 CGIプログラムに対応する仮想パスの後に、更に余分のパスが続いた場合、その情報は環境変数 PATH_INFO に格納され PATH_INFO をウェブサーバの仮想パスと解釈した際に対応すべき物理パスが環境変数 PATH_TRANSLATED に格納される。この方式もまたCGIプログラムにユーザー側からパラメータを渡す目的でよく用いられる。 プログラムが標準出力に出力したデータは、ウェブサーバを経由してクライアントに送られる。このデータは正当なHTTPヘッダで始まらなければならない。 ただし、いくつかの特別なヘッダフィールドは「サーバディレクティブ」として解釈され、ウェブサーバの挙動(ステータスコードなど)に影響を与える。これ以外の全てのヘッダフィールドはそのままクライアントに送信される。 現在のWWWではHTMLが中心的な役割を果たしているので、CGIプログラムはHTMLを出力するケースが圧倒的に多い。 画像データなどを出力することもある(これはアクセスカウンタなどを作る際に使われる)。 The CGI Specification(archive.org) RFC 3875 The Common Gateway Interface (CGI) Version 1.1 RFC 1630 Universal Resource Identifiers in WWW RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1 サーバサイドスクリプト Webプログラミングでは、サーバ側で動作するプログラムとクライアント側で動作するプログラムの両方を開発しなければならない 例としてサーバサイトにつかう言語と環境としてCGI + PerlやPHP、Ruby、Java Servlet + JSP + Enterprise JavaBeans + Spring Framework + Apache Struts(Java EE)、.NET(ASP.NET(C#,VB.NET))などが挙げられる。 サーバサイドでのプログラミングには次のような特徴がある。 アクセスが殺到しやすいウェブサイトではデータベースに高い負荷がかかりがちであるため、その解決のためにDBMSの知識がソフトウェア開発において求められることが多い。さらに金融系や基幹系業務やB2Bなどミッションクリティカルな領域での開発ではフロントエンドだけでなくバックエンドの開発も行うためUNIXやサーバ、ネットワーク、セキュリティ、計算機科学、ソフトウェア工学の知識が求められる事が多い。 またサーバサイドのプログラムでは多くの場合、複数ユーザの操作に応じた処理が同一プロセスのメモリ空間上で行われるので、ユーザごとに適切にメモリ上の情報が分離されるよう意識してプログラミングしなければならない。例えばJava ServletやJSPでクラス変数を不適切に使用して、そのサーブレットにアクセスする複数のユーザがその変数を共有してとんでもない事態に発生するミスも過去に実際起きている。この変数がもし銀行口座の預金残高などに使われていた場合、その事態は顧客やエンドユーザーからの信用を徹底的に失うほど非常に深刻なものとなる。 クライアントサイドスクリプト クライアント側のプログラミングは困難となりがちである。これを省力化するためのライブラリが様々に用意されており、例としてJavaServer Facesの部品として利用可能なライブラリAjaxFaces、JSPカスタムタグライブラリとして導入できるAjaxTags、JSP, JSF両方で利用可能なAjaxAnywhere等がある。なお、これらはいずれもAJAXを実現するライブラリで、これらを用いることでJavaScript等によるクライアントサイドのコードの開発に比重を置くことなく、リッチなウェブアプリケーションを開発できることが期待できる。 クライアントサイドでのプログラミングは、Ajax(JavaScript + XML)のようにウェブブラウザ上で動くプログラミング言語を用いて行われるケースもあるが、近年ではリッチクライアントが登場し、ウェブブラウザのかわりにブラウザ依存を避けられるJava Web StartやClickOnceやAdobe Flashを使うケースも増えている。 JavaScriptを用いる場合、ウェブブラウザには様々な実装系があるため[3]、クライアント側のでプログラミングを行うためには、複数の実装系に精通している必要があった。しかし、JavaScriptに使用されているAjaxがGoogle Mapsに実装されることで脚光を浴びるにつれて、Ajaxに使用する(prototype.jsなどの)ライブラリが、ブラウザ依存しにくいように設計されるようになってきた。Ajaxのライブラリ、フレームワークを使いこなしていれば複数の実装系依存に拘る必要は無くなってきている。 従来では、Web開発におけるクライアントサイドといえば、WebデザイナがHTMLと小規模なJavaScriptやAdobe Flashで作られたサイトを開発する程度のものであったため、オブジェクト指向プログラミングの習得についてほとんど意識する必要がなかった。しかし端末ハードウェアの性能が向上し、HTMLクライアントの限界と不満が叫ばれるようになってゆき、Ajaxとリッチクライアントが注目されるにつれて、クライアントサイドでもオブジェクト指向プログラミングを習得する必要性が高まってきた。リッチクライアントに使用する技術の一つであるSwingなどによるGUI開発ではオブジェクト指向プログラミングは、ファットクライアント、スタンドアロンアプリケーション時代から必須のものである。またAjaxのフレームワークの多くはオブジェクト指向プログラミングで設計されている[4]。 ウェブブラウザはウィンドウシステムやウィジェット・ツールキットとは異なり、アプリケーションがGUIを実現できるようにする事を元来の目的とするプログラムではなく、Web上のHTML文書などを閲覧することを主な目的とするプログラムなので、そのプログラム上で良いGUIを実現するには様々な工夫が求められる。その工夫の例としてAjaxやリッチクライアントがある。 リッチクライアント HTMLクライアントの欠点を補うために、HTMLクライアントとクライアントサーバシステムで使われてきたファットクライアントとの中間に位置するリッチクライアントも注目されている。リッチクライアントとして挙げられるものは、Java Web Start、.NETのClickOnce、AdobeのAIRなどがある。これらの登場により、クライアントサイドの開発は一変しつつある。 Perl PHP Ruby
https://w.atwiki.jp/ibibi/pages/32.html
http //shower.human.waseda.ac.jp/~ibi/dialogue/200812fukuda/index.html #!/usr/bin/perl use lib /usr/local/lib/perl/cgi-lib ; use CGI; #use Pg; $query = new CGI; $name = $query- param( name ); $fileLineNumber = $query- param( number ); $outputnumber = $fileLineNumber - 1; #$word = $query- param( word ); $firstChecker = $query- param( firstChecker ); #@q1 = $query- param( Q1 ); #$q1num = scalar(@Q1); #チェックボックスにチェックした数 #参考 :http //chaichan.web.infoseek.co.jp/qa4000/qa4037.htm $q2 = $query- param( Q2 ); $q3 = $query- param( Q3 ); $q4 = $query- param( Q4 ); $q5 = $query- param( Q5 ); $q6 = $query- param( Q6 ); $q7 = $query- param( Q7 ); $q8 = $query- param( Q8 ); $q9 = $query- param( Q9 ); $q10 = $query- param( Q10 ); $q11 = $query- param( Q11 ); $q12 = $query- param( Q12 ); $q13 = $query- param( Q13 ); $q14 = $query- param( Q14 ); $q15 = $query- param( Q15 ); $q16 = $query- param( Q16 ); $q17 = $query- param( Q17 ); $q18 = $query- param( Q18 ); $q19 = $query- param( Q19 ); $q20 = $query- param( Q20 ); $q21 = $query- param( Q21 ); $q22 = $query- param( Q22 ); $q23 = $query- param( Q23 ); $q24 = $query- param( Q24 ); $q25 = $query- param( Q25 ); $q26 = $query- param( Q26 ); $q27 = $query- param( Q27 ); $qfree = $query- param( Qfree ); print "Content-type text/html\n\n"; print " HTML HEAD META HTTP-EQUIV= Content-Type CONTENT= text/html;CHARSET=UTF8 \n"; print " TITLE アンケートページ /TITLE /HEAD /HTML \n"; print " BODY \n"; #HTMLをブラウザに送信 $outputLine = "$name,$outputnumber,@q1[0..8],$q2,$q3,$q4,$q5,$q6,$q7,$q8,$q9,$q10,$q11,$q\ 12,$q13,$q14,$q15,$q16,$q17,$q18,$q19,$q20,$q21,$q22,$q23,$q24,$q25,$q26,$q27,"; $outputLine =~ s/\outputLine*$//; #改行コード取り去り #print "$outputLine"; #それぞれのクエスチョンに0 ~8までの評価をアウトプットしてもらう #ひとつ前のページの入力結果が合っているかどうか (矛盾がないか)を判定 @checkRadio = ($q2, $q3, $q4, $q5, $q6, $q7, $q8, $q9, $q10, $q11, $q12, $q13, $q14, $q15\ , $q16, $q17, $q18, $q19, $q20, $q21, $q22, $q23, $q24, $q25, $q26, $q27); $checkCounter = 0; $checkError = -1; $checkBox = -1; if($fileLineNumber != 1){ for($i=0;$i 26;$i++){ if($checkRadio[$i] == ""){ $checkError = $i+1; print " font color= red $checkError番目の音声が評価されていません。 /font B\ R \n"; } } } #for # if ($_ != "") { # $checkBox = 0; # } # $checkCounter++; #} #if ( ($checkBox == -1) ($firstChecker == 0) ) { # print " font color= red 一つ以上の項目にチェックを入れてください。 /font BR \n"; # print " font color= red ブラウザの「戻る」ボタンを押して前の画面に戻るか、この画面\\ であらためて入力してください。 /font BR \n"; # $fileLineNumber = $fileLineNumber - 1; # $checkError = 0; #} #上の判定の結果 、入力にエラーがなければ、ひとつ前のページの結果を書き出す if ($checkError == -1) { #現在時刻も出力 $times = time(); $outputLine = "$times,$outputLine"; $outputLine .= "$qfree"; open(OUT, " resultdata.csv"); print(OUT "$outputLine\n"); close(OUT); }else{ print " font color= red ブラウザの「戻る」ボタンを押して前の画面に戻り入力してくださ\ い。 /font BR \n"; } #回答対象の番号をセット $counterTotal = 0; $lineCheck = -1; for ($counter=int(rand(100));$counterTotal 5050;$counterTotal=$counterTotal+$counter) { if ($counter == $fileLineNumber) { print " H1 音声印象評定アンケート /H1 \n"; print " HR \n"; print " B A HREF=\"data/$counter.WAV\" target=\"_blank\" $counter /A /B ($coun\ ter / $counterTotal) BR \n"; #$word = $xx; for(;$ARGV[$counter]==$counter+1;$y=int(rand(100))){ } $ARGV[$counter]=$counter+1; $counterNext = $counter + 1; print" FORM NAME= form METHOD= POST ACTION= question.cgi \n"; print" INPUT TYPE= hidden NAME= number VALUE= $ARGV[$counter] \n"; $textSpace = " nbsp; nbsp nbsp; nbsp"; #余白の長さを指定 # $text1 = "(多少感じられる)"; # $text5 = "(強く感じられる)"; $space = " nbsp; nbsp nbsp; nbsp"; print "上のリンクをクリックして音声を聴き、次の全ての項目について、その印象がどれ\ くらいか、1から7の7段階の評価で選んでください。 BR \n"; print "各項目について中立の印象は4になります。中立の場合には必ず4にチェックして\ ください。 BR \n"; print "音声は何度聴いても構いません。 BR \n"; print " BR \n"; print " TABLE cellspacing=1 cellpadding=4 \n"; $i=1; print " tr td $space /td td B $i /B 低い声(1)~高い声(7) /td td nbsp; nb\ sp nbsp /td td input type= radio name= Q2 value= 1 1 /td td input type= rad\ io name= Q2 value= 2 2 /td td input type= radio name= Q2 value= 3 3 /td td in\ put type= radio name= Q2 value= 4 4 /td td input type= radio name= Q2 value= 5 5\ /td td input type= radio name= Q2 value= 6 6 /td td input type= radio name= Q2\ value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B かすれた声(1)~澄んだ声(7) /td td nb\ sp; nbsp nbsp /td td input type= radio name= Q3 value= 1 1 /td td input typ\ e= radio name= Q3 value= 2 2 /td td input type= radio name= Q3 value= 3 3 /td \ td input type= radio name= Q3 value= 4 4 /td td input type= radio name= Q3 value\ = 5 5 /td td input type= radio name= Q3 value= 6 6 /td td input type= radio na\ me= Q3 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 落ち着きのない声(1)~落ち着きのある声(7\ ) /td td nbsp nbsp /td td input type= radio name= Q4 value= 1 1 /td \ td input type= radio name= Q4 value= 2 2 /td td input type= radio name= Q4 valu\ e= 3 3 /td td input type= radio name= Q4 value= 4 4 /td td input type= radio n\ ame= Q4 value= 5 5 /td td input type= radio name= Q4 value= 6 6 /td td input t\ ype= radio name= Q4 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 弱々しい声(1)~迫力のある声(7) /td td\ nbsp nbsp /td td input type= radio name= Q5 value= 1 1 /td td input\ type= radio name= Q5 value= 2 2 /td td input type= radio name= Q5 value= 3 3 /\ td td input type= radio name= Q5 value= 4 4 /td td input type= radio name= Q5 v\ alue= 5 5 /td td input type= radio name= Q5 value= 6 6 /td td input type= radio\ name= Q5 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 細い声(1)~太い声(7) /td td nbsp; nb\ sp nbsp /td td input type= radio name= Q6 value= 1 1 /td td input type= rad\ io name= Q6 value= 2 2 /td td input type= radio name= Q6 value= 3 3 /td td in\ put type= radio name= Q6 value= 4 4 /td td input type= radio name= Q6 value= 5 5\ /td td input type= radio name= Q6 value= 6 6 /td td input type= radio name= Q6\ value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 張りのない声(1)~張りのある声(7) /td \ td nbsp nbsp /td td input type= radio name= Q7 value= 1 1 /td td inp\ ut type= radio name= Q7 value= 2 2 /td td input type= radio name= Q7 value= 3 3 \ /td td input type= radio name= Q7 value= 4 4 /td td input type= radio name= Q7 \ value= 5 5 /td td input type= radio name= Q7 value= 6 6 /td td input type= rad\ io name= Q7 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 声の小さい(1)~声の大きい(7) /td td \ nbsp; nbsp nbsp /td td input type= radio name= Q8 value= 1 1 /td td input t\ ype= radio name= Q8 value= 2 2 /td td input type= radio name= Q8 value= 3 3 /td\ td input type= radio name= Q8 value= 4 4 /td td input type= radio name= Q8 val\ ue= 5 5 /td td input type= radio name= Q8 value= 6 6 /td td input type= radio \ name= Q8 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 元気のない(1)~元気のある(7) /td td \ nbsp; nbsp nbsp /td td input type= radio name= Q9 value= 1 1 /td td input t\ ype= radio name= Q9 value= 2 2 /td td input type= radio name= Q9 value= 3 3 /td\ td input type= radio name= Q9 value= 4 4 /td td input type= radio name= Q9 val\ ue= 5 5 /td td input type= radio name= Q9 value= 6 6 /td td input type= radio \ name= Q9 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B ぼそぼそとした(1)~はっきりした(7) /td\ td nbsp nbsp /td td input type= radio name= Q10 value= 1 1 /td td \ input type= radio name= Q10 value= 2 2 /td td input type= radio name= Q10 value= \ 3 3 /td td input type= radio name= Q10 value= 4 4 /td td input type= radio nam\ e= Q10 value= 5 5 /td td input type= radio name= Q10 value= 6 6 /td td input t\ ype= radio name= Q10 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 遅い(1)~速い(7) /td td nbsp; nbsp n\ bsp; nbsp /td td input type= radio name= Q11 value= 1 1 /td td input type= radio \ name= Q11 value= 2 2 /td td input type= radio name= Q11 value= 3 3 /td td inp\ ut type= radio name= Q11 value= 4 4 /td td input type= radio name= Q11 value= 5 \ 5 /td td input type= radio name= Q11 value= 6 6 /td td input type= radio name= \ Q11 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B のんきな(1)~せわしげな(7) /td td nb\ sp; nbsp nbsp /td td input type= radio name= Q12 value= 1 1 /td td input ty\ pe= radio name= Q12 value= 2 2 /td td input type= radio name= Q12 value= 3 3 /t\ d td input type= radio name= Q12 value= 4 4 /td td input type= radio name= Q12 \ value= 5 5 /td td input type= radio name= Q12 value= 6 6 /td td input type= rad\ io name= Q12 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B しどろもどろな(1)~なめらかな(7) /td \ td nbsp nbsp /td td input type= radio name= Q13 value= 1 1 /td td in\ put type= radio name= Q13 value= 2 2 /td td input type= radio name= Q13 value= 3 \ 3 /td td input type= radio name= Q13 value= 4 4 /td td input type= radio name=\ Q13 value= 5 5 /td td input type= radio name= Q13 value= 6 6 /td td input typ\ e= radio name= Q13 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 歯切れの悪い(1)~歯切れの良い(7) /td \ td nbsp nbsp /td td input type= radio name= Q14 value= 1 1 /td td in\ put type= radio name= Q14 value= 2 2 /td td input type= radio name= Q14 value= 3 \ 3 /td td input type= radio name= Q14 value= 4 4 /td td input type= radio name=\ Q14 value= 5 5 /td td input type= radio name= Q14 value= 6 6 /td td input typ\ e= radio name= Q14 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 落ち着きのない(1)~落ち着きのある(7) /\ td td nbsp nbsp /td td input type= radio name= Q15 value= 1 1 /td td\ input type= radio name= Q15 value= 2 2 /td td input type= radio name= Q15 value\ = 3 3 /td td input type= radio name= Q15 value= 4 4 /td td input type= radio n\ ame= Q15 value= 5 5 /td td input type= radio name= Q15 value= 6 6 /td td input\ type= radio name= Q15 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 静的な(1)~動的な(7) /td td nbsp; nb\ sp nbsp /td td input type= radio name= Q16 value= 1 1 /td td input type= ra\ dio name= Q16 value= 2 2 /td td input type= radio name= Q16 value= 3 3 /td td \ input type= radio name= Q16 value= 4 4 /td td input type= radio name= Q16 value=\ 5 5 /td td input type= radio name= Q16 value= 6 6 /td td input type= radio na\ me= Q16 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 穏やかな(1)~激しい(7) /td td nbsp; \ nbsp nbsp /td td input type= radio name= Q17 value= 1 1 /td td input type= \ radio name= Q17 value= 2 2 /td td input type= radio name= Q17 value= 3 3 /td t\ d input type= radio name= Q17 value= 4 4 /td td input type= radio name= Q17 valu\ e= 5 5 /td td input type= radio name= Q17 value= 6 6 /td td input type= radio \ name= Q17 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 嫌いな(1)~好きな(7) /td td nbsp; nb\ sp nbsp /td td input type= radio name= Q18 value= 1 1 /td td input type= ra\ dio name= Q18 value= 2 2 /td td input type= radio name= Q18 value= 3 3 /td td \ input type= radio name= Q18 value= 4 4 /td td input type= radio name= Q18 value=\ 5 5 /td td input type= radio name= Q18 value= 6 6 /td td input type= radio na\ me= Q18 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 不快な(1)~心地よい(7) /td td nbsp; \ nbsp nbsp /td td input type= radio name= Q19 value= 1 1 /td td input type= \ radio name= Q19 value= 2 2 /td td input type= radio name= Q19 value= 3 3 /td t\ d input type= radio name= Q19 value= 4 4 /td td input type= radio name= Q19 valu\ e= 5 5 /td td input type= radio name= Q19 value= 6 6 /td td input type= radio \ name= Q19 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 感じの悪い(1)~感じの良い(7) /td td \ nbsp; nbsp nbsp /td td input type= radio name= Q20 value= 1 1 /td td input \ type= radio name= Q20 value= 2 2 /td td input type= radio name= Q20 value= 3 3 \ /td td input type= radio name= Q20 value= 4 4 /td td input type= radio name= Q20\ value= 5 5 /td td input type= radio name= Q20 value= 6 6 /td td input type= r\ adio name= Q20 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 親しみにくい(1)~親しみやすい(7) /td \ td nbsp nbsp /td td input type= radio name= Q21 value= 1 1 /td td in\ put type= radio name= Q21 value= 2 2 /td td input type= radio name= Q21 value= 3 \ 3 /td td input type= radio name= Q21 value= 4 4 /td td input type= radio name=\ Q21 value= 5 5 /td td input type= radio name= Q21 value= 6 6 /td td input typ\ e= radio name= Q21 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B かたい(1)~やわらかい(7) /td td nbsp\ ; nbsp nbsp /td td input type= radio name= Q22 value= 1 1 /td td input type\ = radio name= Q22 value= 2 2 /td td input type= radio name= Q22 value= 3 3 /td \ td input type= radio name= Q22 value= 4 4 /td td input type= radio name= Q22 va\ lue= 5 5 /td td input type= radio name= Q22 value= 6 6 /td td input type= radio\ name= Q22 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 悲しくなる(1)~嬉しくなる(7) /td td \ nbsp nbsp /td td input type= radio name= Q23 value= 1 1 /td td inpu\ t type= radio name= Q23 value= 2 2 /td td input type= radio name= Q23 value= 3 \ 3 /td td input type= radio name= Q23 value= 4 4 /td td input type= radio name=\ Q23 value= 5 5 /td td input type= radio name= Q23 value= 6 6 /td td input ty\ pe= radio name= Q23 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 重々しい(1)~軽やかな(7) /td td nbs\ p; nbsp nbsp /td td input type= radio name= Q24 value= 1 1 /td td input ty\ pe= radio name= Q24 value= 2 2 /td td input type= radio name= Q24 value= 3 3 /\ td td input type= radio name= Q24 value= 4 4 /td td input type= radio name= Q24\ value= 5 5 /td td input type= radio name= Q24 value= 6 6 /td td input type= \ radio name= Q24 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 無礼な(1)~礼儀正しい(7) /td td nbs\ p; nbsp nbsp /td td input type= radio name= Q25 value= 1 1 /td td input ty\ pe= radio name= Q25 value= 2 2 /td td input type= radio name= Q25 value= 3 3 /\ td td input type= radio name= Q25 value= 4 4 /td td input type= radio name= Q25\ value= 5 5 /td td input type= radio name= Q25 value= 6 6 /td td input type= \ radio name= Q25 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 下品な(1)~上品な(7) /td td nbsp; n\ bsp nbsp /td td input type= radio name= Q26 value= 1 1 /td td input type= \ radio name= Q26 value= 2 2 /td td input type= radio name= Q26 value= 3 3 /td \ td input type= radio name= Q26 value= 4 4 /td td input type= radio name= Q26 va\ lue= 5 5 /td td input type= radio name= Q26 value= 6 6 /td td input type= radi\ o name= Q26 value= 7 7 /td /tr \n"; $i++; print " tr td $space /td td B $i /B 粗野な(1)~繊細な(7) /td td nbsp; n\ bsp nbsp /td td input type= radio name= Q27 value= 1 1 /td td input type= \ radio name= Q27 value= 2 2 /td td input type= radio name= Q27 value= 3 3 /td \ td input type= radio name= Q27 value= 4 4 /td td input type= radio name= Q27 va\ lue= 5 5 /td td input type= radio name= Q27 value= 6 6 /td td input type= radi\ o name= Q27 value= 7 7 /td /tr \n"; print " /TABLE \n"; print " BR \n"; print "何かお気づきのことがありましたら自由にお書きください。\n"; print " table cellspacing=0 cellpadding=0 \n"; print " tr td $space /td td textarea name= Qfree cols=60 rows=3 /textarea \ /td /tr \n"; print " /table \n"; print " INPUT TYPE= hidden NAME= name VALUE= $name BR \n"; # print " INPUT TYPE= hidden NAME= word VALUE= $word BR \n"; print " INPUT TYPE= hidden NAME= firstChecker VALUE= 0 BR \n"; print" INPUT TYPE= submit NAME= submit VALUE= 次へ BR \n"; print" /FORM \n"; print " A HREF= http //shower.human.waseda.ac.jp/~kikuchi/k-lab/questionaire/200\ 812fukuda/ アンケートトップページへ /A BR \n"; print " BR \n"; $lineCheck = $counter; } } close(IN); if ($lineCheck == -1) { print "質問は以上です。お疲れ様でした。 BR \n"; print "アンケートにご協力いただき、ありがとうございました。 BR \n"; print "お手数ですが、終りましたことを A HREF=\"mailto tksh_fkd@moegi.waseda.jp\" 担\\ 当者(福田) /A まで御連絡下さい。 BR \n"; print " HR \n"; print " A HREF= http //shower.human.waseda.ac.jp/~kikuchi/k-lab/questionaire/200812f\ ukuda/ アンケートトップページへ /A BR \n"; print " /BODY \n"; print " /HTML \n"; } print " /BODY \n"; print " /HTML \n";
https://w.atwiki.jp/aurora72source2/pages/64.html
aaa test01.txt test01.html test01.cgihttp //www6.atpages.jp/aurora72source2/cgi/test005/ls01.htmlhttp //www6.atpages.jp/aurora72source2/cgi/test005/upload.htmlhttp //www6.atpages.jp/aurora72source2/cgi/test005/test01.html aaa ?xml version="1.0" encoding="Shift_JIS"? !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http //www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" html xmlns="http //www.w3.org/1999/xhtml" xml lang="ja" head title アップロード用フォーム /title /head body h1 アップロード用フォーム /h1 form action="upload.cgi" method="post" enctype="multipart/form-data" p updir(Remote): input type="text" name="updir" BR /p p localdir(Localdir): input type="text" name="localdir" BR /p p upfile: /p p input type="file" name="filename01" / /p p input type="text" name="filename02" / /p p Mode(例:0700): input type="text" name="filemode" BR /p p input type="submit" value="送信" / input type="reset" value="リセット" / /p /form /body /html #!/usr/local/bin/perl -w # モジュール読み込み use strict; use CGI; my ($buffer); # オブジェクト作成 my $query = new CGI; # $f = $_POST[ filename ]; my $filename = $query- param( filename02 ); my $filemode = $query- param( filemode ); # ファイル取得 my $fH = $query- upload( filename01 ); # MIMEタイプ取得 my $mimetype = $query- uploadInfo($fH)- { Content-Type }; # HTML出力 print $query- header(-charset= Shift_JIS ), $query- start_html(-lang= ja , -encoding= Shift_JIS , -title= upload.cgi ); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); open(IN, "ls -alt ./ |"); while ( IN ) { print $_; print BR ; } close(IN); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); # $cmd01 = "cp -a ./tmpfile $filename |"; # print("$cmd01 br \n"); open(IN, "cp -apbf ./tmpfile $filename | "); while ( IN ) { print $_; print BR ; } close(IN); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); open(IN, "ls -al ./ |"); while ( IN ) { print $_; print BR ; } close(IN); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); # ファイル保存 # open (OUT, " Savefile") || die "Can t open Savefile!"; open (OUT, " $filename") || die "Can t open Savefile!"; binmode (OUT); while(read($fH, $buffer, 1024)){ print OUT $buffer; } close (OUT); close ($fH) if ($CGI OS ne UNIX ); # Windowsプラットフォーム用 chmod ("$filemode", "$filename"); print "HTML_VIEW"; h1 ファイルアップロード /h1 ul li ファイル名:$fH /li li MIMEタイプ:$mimetype /li /ul p ファイルのアップロードが完了しました。 /p HTML_VIEW print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); open(IN, "ls -alt ./ |"); while ( IN ) { print $_; print BR ; } close(IN); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); open(IN, "ls -al ./ |"); while ( IN ) { print $_; print BR ; } close(IN); print("=========================================== br \n"); print("=========================================== br \n"); print("=========================================== br \n"); print $query- end_html; exit; aaa
https://w.atwiki.jp/party_custom/pages/14.html
CGIは使い方を誤ると、サーバー側に負担が掛かってしまい、最悪の場合では損害賠償を請求される恐れがあります。 これらを防ぐために、以下のCGI運用者のマナーとエチケットを守り、楽しく安全に行いましょう。 設置が禁止されていないか確かめる 無茶苦茶な設定をしない 管理を怠らない セキュリティに注意する 登録方法を特殊にして、荒らしが沸かないようにする 他にも、これらのサイトを見ておく事で、HP運営者としての心得を持つ事も大切です。 CGIは一人で運営するのでしょうけど、そのCGIはそれぞれ別の場所に、オリジナルが加わった『分家』が存在します。 そしてまた、自分の設置する物も一つの『分家』であり、『本家』は存在しない事を理解しましょう。 一人が無茶苦茶な改造を行うと、他の人が設置する時にも迷惑が掛かる事があるので、注意しましょう。 毒吐きネットマナー インターネットのルールとマナー 設置が禁止されていないか確かめる 大抵のフリースペース(yahoo等)は、CGIの設置を認めていない場合が大半です。 こういったサーバーで設置する事は規約違反ですから、設置場所の規約を熟読し、正しい方法で設置を行いましょう。 インフォシークなど高負荷禁止のサーバーもあるので、使いやすいサーバーを見つける事が大事です。 無茶苦茶な設定をしない 『高速版ゲーム!』とか、『制限解除!』それもまた良いでしょう。 しかし、貴方がそれを行って、サーバー管理者の合意を得ない場合は、それは単なる『サーバー破壊行為』でしかありません。 急がず焦らず、ゆっくりとした時間を持って遊べるゲームを作るように心がけましょう。 @パーティーにおいても、戦闘待機時間0秒だとか、ご法度です。 FFA並の負荷があるのが@パーティーですから、無料サーバーでそんな無茶苦茶な設定はやめましょう。 どうしてもやりたいのなら、自分でサーバーを立てて行って下さい。 管理を怠らない 管理者はサイトを運営する上で、規律を守る義務があります。 利用者さんが気持ちよく、かつ楽しく閲覧できるようにちゃんと整備をしましょう。 セキュリティに注意する セキュリティはとても大事です。 プレイヤーさんの個人情報の取り扱いには十分注意し、流出しないように十分注意しましょう。 登録方法を特殊にして、荒らしが沸かないようにする 説明書の規約を読まないと登録できないとか設定すると良いでしょう。 ただし、お金を払わないと~とか、○○に登録しないと~とかは絶対に厳禁です。
https://w.atwiki.jp/farbee/pages/4.html
#! /usr/local/bin/perl $aclog = log.txt ; $max = 500 ; $myself = http //farbee.fc2web.com/farbee.html ;# 自分のホームページを指定する ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $month = ($mon + 1); $year = ($year + 1900); if ($sec 10) { $sec = "0$sec"; } if ($min 10) { $min = "0$min"; } if ($hour 10) { $hour = "0$hour"; } if ($mday 10) { $mday = "0$mday"; } if ($month 10) { $month = "0$month"; } $date = "$month/$mday/$year $hour\ $min\ $sec"; $href = $ENV{ HTTP_REFERER }; $myself =~ s/\~/.*/g; if ($href =~ /$myself/i) { $href = ""; } open(LOG,"$aclog") || die "Can t Open User Access Log $!\n"; @lines= LOG ; close(LOG); $DATA = "[$date] $href"; unshift(@lines, "$DATA\n"); pop @lines while @lines $max; open(LOG," $aclog") || die "Can t Open access_log $!\n"; print LOG @lines; close(LOG); print "Content-type text/plain\n\n"; print " "; exit(0);